///**
// * 
// */
//package com.cnhaimei.vod.net;
//
//import java.util.ArrayDeque;
//import java.util.Iterator;
//import java.util.concurrent.SynchronousQueue;
//
//import android.util.Log;
//
///**
// * @author jin001.wu@gmail.com <br>
// * @date 2011-8-28
// *
// */
//public class QTable implements Runnable{
//	private final Object mlock = new Object();
//	SynchronousQueue<Request> mQueue = new SynchronousQueue<Request>();
//	
//	
//	public void run() {
//		synchronized (mlock) {
//			while (true) {
//				try {
//					if (mQueue.isEmpty()) {
//						mlock.wait();
//					}
//					
//					Request req = mQueue.poll();
//				} catch (Exception e) {
//					// TODO
//					e.printStackTrace();
//				}
//			}
//		}
//
//	}
//	
//	private class RequestQueue {
//		// 未有同步，所有操作均在主线程进行
//		private ArrayDeque<Request>  waiting = new ArrayDeque<Request>(10);
//		private Request running;		
//		
//		// 添加或替换当前已有
//		public void placeRequest(Request req) {
//			
//			Iterator<Request> it = waiting.iterator();
//			boolean hasReplace = false;
//			while (it.hasNext()) {
//				Request r = (Request) it
//						.next();
//				if (r.table.equals(req.table)) {
//					r.query = req.query;
//					hasReplace = true;
//					break;
//				}
//			}
//			
//			if (!hasReplace) {
//				waiting.add(req);
//			}
//			
//			Log.e(TAG, "waiting queue:" + waiting.size());
//			
//			if (running == null) {
//				startRequest();
//			}
//		}
//		
//		public void cleanRequest() {
//			waiting.clear();
//		}
//		
//		public void pollRequest() {
//			running = null;
//			startRequest();
//		}
//		
//		public Request getRunningRequest() {
//			return running;
//		}
//		
//		private void startRequest() {
//			Request req = waiting.poll();
//			if (req != null) {
//				long id = XVod.G().search(req.table, req.query);
//				curSearchId = id;
//				req.id = id;
//				running = req;
//			}
//		}
//	}
//}
